Spring Boot的自动配置系统对应用来说很合适,但用于测试就有点杀鸡用牛刀了,测试时只加载需要的应用片段(slice)通常是有好处的。例如,你可能想测试Spring MVC控制器映射URLs是否正确,且不想在这些测试中涉及到数据库调用;或者你想测试JPA实体,那测试运行时你可能对web层不感兴趣。
spring-boot-test-autoconfigure
模块包含很多用来自动配置这些片段(slices)的注解,每个工作方式都相似,都是提供一个@…Test
注解,然后加载ApplicationContext
,使用一个或多个@AutoConfigure…
注解自定义设置。
注 @AutoConfigure…
注解也可以跟标准的@SpringBootTest
注解一块使用,如果对应用片段不感兴趣,只是想获取自动配置的一些测试beans,你可以使用该组合。